<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
        <head><title>class IpAddressPool in be.jvb.iptypes</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF8"></meta><meta content="scaladoc (version 2.7.7.final)" name="generator"></meta><link href="../../../style.css" type="text/css" rel="stylesheet"></link><script type="text/javascript" src="../../../script.js"></script>
        </head>
        <body onload="init()">
        <table summary="" class="navigation">
        <tr>
          <td class="navigation-links" valign="top">
            <!-- <table><tr></tr></table> -->
          </td>
          <td align="right" valign="top" style="white-space:nowrap;" rowspan="2">
            <div class="doctitle-larger">Scala IPv4 0.1 API</div>
          </td>
        </tr>
        <tr><td></td></tr>
      </table>
        
      <div class="entity">
        <a href="../../../be/jvb/iptypes$package.html" target="_self">be.jvb.iptypes</a>
        <br></br>
        <span class="entity">class  IpAddressPool</span>
      </div><hr></hr>
      <div class="source">
        [source: <a href="" class="be/jvb/iptypes/IpAddressPool"><code>be/jvb/iptypes/IpAddressPool.scala</code></a>]
      </div><hr></hr>
      <a name="IpAddressPool"></a><dl>
      <dt>
        
        <code></code>
        <code>class</code>
        <em>IpAddressPool</em>(<code>val override </code><em>first</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>, <code>val override </code><em>last</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>, <code>val </code><em>freeRanges</em> : <a href="" target="contentFrame" class="scala/collection/immutable/SortedSet">scala.collection.immutable.SortedSet</a>[<a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>])
      </dt>
      <dd><code> extends </code><a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a></dd>
    </dl>
      <dl><dd>Represents a pool of IPv4 addresses. A pool is a range of addresses, from which some can be "allocated" and some can be
 "free".</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Author</b></dt><dd><a href="http://janvanbesien.blogspot.com">Jan Van Besien</a></dd><dt style="margin:10px 0 0 20px;">
        <b>Parameters</b></dt><dd><code>first - </code>first address in the pool</dd><dd><code>last - </code>last address in the pool</dd><dd><code>freeRanges - </code>sorted set of all free ranges in this pool. All free ranges should be contained in the range from first to last;                   none of the free ranges should overlap; and the set of free ranges should contain as little fragments as necessary.</dd></dl>
    
      <table summary="" cellpadding="3" class="member">
      <tr><td class="title" colspan="2">Additional Constructor Summary</td></tr>
      <tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#this%28be.jvb.iptypes.IpAddressRange%29" target="_self">this</a></em>
        (<em>range</em> : <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
        
        <div>Construct a pool which is completely free from an existing address range.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#this%28be.jvb.iptypes.IpAddress%2Cbe.jvb.iptypes.IpAddress%29" target="_self">this</a></em>
        (<em>first</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>, <em>last</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
        
        <div>Construct a pool which is completely free.</div>
      </td>
    </tr>
      </table>


<table summary="" cellpadding="3" class="member">
      <tr><td class="title" colspan="2">Method Summary</td></tr>
      <tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#allocate%28be.jvb.iptypes.IpAddress%29" target="_self">allocate</a></em>
        (<em>toAllocate</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : (<a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>, <a href="" target="contentFrame" class="scala/Option">scala.Option</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>])
        
        <div>Allocate the given address in the pool.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#allocate%28%29" target="_self">allocate</a></em>
         : (<a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>, <a href="" target="contentFrame" class="scala/Option">scala.Option</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>])
        
        <div>Allocate the first free address in the pool.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#allocatedAddresses%28%29" target="_self">allocatedAddresses</a></em>
         : <a href="" target="contentFrame" class="scala/Stream">scala.Stream</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>]
        
        <div></div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#allocatedRanges%28%29" target="_self">allocatedRanges</a></em>
         : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>]
        
        <div></div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code>protected override def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#canEqual%28Any%29" target="_self">canEqual</a></em>
        (<em>other</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
        
        
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#deAllocate%28be.jvb.iptypes.IpAddress%29" target="_self">deAllocate</a></em>
        (<em>address</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
        
        <div>Deallocate the given address in the pool. The given address will be free in the returned pool.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code>override def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#equals%28Any%29" target="_self">equals</a></em>
        (<em>other</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
        
        <div>This method is used to compare the receiver object (<code>this</code>)
    with the argument object (<code>arg0</code>) for equivalence.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#fragments%28%29" target="_self">fragments</a></em>
         : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>
        
        <div></div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#freeAddresses%28%29" target="_self">freeAddresses</a></em>
         : <a href="" target="contentFrame" class="scala/Stream">scala.Stream</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>]
        
        <div></div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code>override def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#hashCode%28%29" target="_self">hashCode</a></em>
         : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>
        
        <div>Returns a hash code value for the object.</div>
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#isExhausted%28%29" target="_self">isExhausted</a></em>
         : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
        
        
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code> def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#isFree%28be.jvb.iptypes.IpAddress%29" target="_self">isFree</a></em>
        (<em>address</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
        
        
      </td>
    </tr>
<tr>
      <td class="modifiers" valign="top"> 
        <code>override def</code>
      </td>
      <td class="signature">
        <em><a href="../../../be/jvb/iptypes/IpAddressPool.html#toString%28%29" target="_self">toString</a></em>
         : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a>
        
        <div>Returns a string representation of the object.</div>
      </td>
    </tr>
      </table><table summary="" cellpadding="3" class="inherited">
        <tr><td class="title" colspan="2">
          Methods inherited from <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>
        </td></tr>
        <tr><td class="signature" colspan="2">
          <a href="../../../be/jvb/iptypes/IpAddressRange.html#contains%28be.jvb.iptypes.IpAddress%29" target="_self">contains</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#contains%28be.jvb.iptypes.IpAddressRange%29" target="_self">contains</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#overlaps%28be.jvb.iptypes.IpAddressRange%29" target="_self">overlaps</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#length" target="_self">length</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#addresses%28%29" target="_self">addresses</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#compare%28be.jvb.iptypes.IpAddressRange%29" target="_self">compare</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#-%28be.jvb.iptypes.IpAddress%29" target="_self">-</a>, <a href="../../../be/jvb/iptypes/IpAddressRange.html#%2B%28be.jvb.iptypes.IpAddress%29" target="_self">+</a>
        </td></tr>
      </table><table summary="" cellpadding="3" class="inherited">
        <tr><td class="title" colspan="2">
          Methods inherited from <a href="" target="contentFrame" class="scala/Ordered">scala.Ordered</a>
        </td></tr>
        <tr><td class="signature" colspan="2">
          <a href="#&amp;lt;" target="contentFrame" class="scala/Ordered">scala.Ordered.&lt;</a>, <a href="#&amp;gt;" target="contentFrame" class="scala/Ordered">scala.Ordered.&gt;</a>, <a href="#&amp;lt;=" target="contentFrame" class="scala/Ordered">scala.Ordered.&lt;=</a>, <a href="#&amp;gt;=" target="contentFrame" class="scala/Ordered">scala.Ordered.&gt;=</a>, <a href="#compareTo" target="contentFrame" class="scala/Ordered">scala.Ordered.compareTo</a>
        </td></tr>
      </table><table summary="" cellpadding="3" class="inherited">
        <tr><td class="title" colspan="2">
          Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html" target="_self">AnyRef</a>
        </td></tr>
        <tr><td class="signature" colspan="2">
          <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#getClass%28%29" target="_self">getClass</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#clone%28%29" target="_self">clone</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notify%28%29" target="_self">notify</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#notifyAll%28%29" target="_self">notifyAll</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28Long%2CInt%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#wait%28%29" target="_self">wait</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#finalize%28%29" target="_self">finalize</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%3D%3D%28AnyRef%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#%21%3D%28AnyRef%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#eq%28AnyRef%29" target="_self">eq</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#ne%28AnyRef%29" target="_self">ne</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/AnyRef.html#synchronized%28T0%29" target="_self">synchronized</a>
        </td></tr>
      </table><table summary="" cellpadding="3" class="inherited">
        <tr><td class="title" colspan="2">
          Methods inherited from <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>
        </td></tr>
        <tr><td class="signature" colspan="2">
          <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%3D%3D%28Any%29" target="_self">==</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#%21%3D%28Any%29" target="_self">!=</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#isInstanceOf" target="_self">isInstanceOf</a>, <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html#asInstanceOf" target="_self">asInstanceOf</a>
        </td></tr>
      </table>


      <table summary="" cellpadding="3" class="member-detail">
          <tr><td class="title">Additional Constructor Details</td></tr>
        </table><div><a name="this%28be.jvb.iptypes.IpAddress%2Cbe.jvb.iptypes.IpAddress%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>this</em>(<em>first</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>, <em>last</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Construct a pool which is completely free.</dd></dl>
      <dl></dl>
    <hr></hr>
<a name="this%28be.jvb.iptypes.IpAddressRange%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>this</em>(<em>range</em> : <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Construct a pool which is completely free from an existing address range.</dd></dl>
      <dl></dl>
    <hr></hr></div>


<table summary="" cellpadding="3" class="member-detail">
          <tr><td class="title">Method Details</td></tr>
        </table><div><a name="allocate%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>allocate</em> : (<a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>, <a href="" target="contentFrame" class="scala/Option">scala.Option</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>])
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Allocate the first free address in the pool.</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>s the pool after allocation and the allocated address (or None if no address was free)</dd></dl>
    <hr></hr>
<a name="allocate%28be.jvb.iptypes.IpAddress%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>allocate</em>(<em>toAllocate</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : (<a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>, <a href="" target="contentFrame" class="scala/Option">scala.Option</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>])
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Allocate the given address in the pool.</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Parameters</b></dt><dd><code>toAllocate - </code>address to allocate in the pool</dd><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>s the pool after allocation and the allocated address (or None if the address was not free in this pool)</dd></dl>
    <hr></hr>
<a name="deAllocate%28be.jvb.iptypes.IpAddress%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>deAllocate</em>(<em>address</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="../../../be/jvb/iptypes/IpAddressPool.html" target="_self">IpAddressPool</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Deallocate the given address in the pool. The given address will be free in the returned pool.</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>s the pool after deallocation</dd></dl>
    <hr></hr>
<a name="isExhausted%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>isExhausted</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
      </dt>
      <dd></dd>
    </dl><hr></hr>
<a name="isFree%28be.jvb.iptypes.IpAddress%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>isFree</em>(<em>address</em> : <a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
      </dt>
      <dd></dd>
    </dl><hr></hr>
<a name="fragments%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>fragments</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd></dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>the number of free ranges fragments</dd></dl>
    <hr></hr>
<a name="freeAddresses%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>freeAddresses</em> : <a href="" target="contentFrame" class="scala/Stream">scala.Stream</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>]
      </dt>
      <dd></dd>
    </dl>
      <dl><dd></dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>a stream of all free addresses in the pool</dd></dl>
    <hr></hr>
<a name="allocatedAddresses%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>allocatedAddresses</em> : <a href="" target="contentFrame" class="scala/Stream">scala.Stream</a>[<a href="../../../be/jvb/iptypes/IpAddress.html" target="_self">IpAddress</a>]
      </dt>
      <dd></dd>
    </dl>
      <dl><dd></dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>a stream of all allocated addresses in the pool</dd></dl>
    <hr></hr>
<a name="allocatedRanges%28%29"></a><dl>
      <dt>
        
        <code></code>
        <code>def</code>
        <em>allocatedRanges</em> : <a href="" target="contentFrame" class="scala/List">scala.List</a>[<a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>]
      </dt>
      <dd></dd>
    </dl>
      <dl><dd></dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>ranges of allocated addresses in the pool</dd><dt style="margin:10px 0 0 20px;">
        <b>Notes</b></dt><dd>the pool implementation keeps track of the free addresses, so this operation is more expensive than the freeRanges() one</dd></dl>
    <hr></hr>
<a name="toString%28%29"></a><dl>
      <dt>
        
        <code>override</code>
        <code>def</code>
        <em>toString</em> : <a href="" target="contentFrame" class="java/lang/String">java.lang.String</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Returns a string representation of the object.  
    <p>
    The default representation is platform dependent.</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>a string representation of the object.     </p></dd></dl>
    <dl>
        <dt style="margin:10px 0 0 20px;">
          <b>Overrides</b>
        </dt>
        <dd>
        <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>.<a href="../../../be/jvb/iptypes/IpAddressRange.html#toString%28%29" target="_self">toString</a>
        </dd>
      </dl><hr></hr>
<a name="equals%28Any%29"></a><dl>
      <dt>
        
        <code>override</code>
        <code>def</code>
        <em>equals</em>(<em>other</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>This method is used to compare the receiver object (<code>this</code>)
    with the argument object (<code>arg0</code>) for equivalence.  
    
    <p>
    The default implementations of this method is an <a
    href="http://en.wikipedia.org/wiki/Equivalence_relation">equivalence
    relation</a>:
      <ul>
      <li>It is reflexive: for any instance <code>x</code> of type <code>Any</code>, 
      <code>x.equals(x)</code> should return <code>true</code>.</li>
      <li>It is symmetric: for any instances <code>x</code> and <code>y</code> of type 
      <code>Any</code>, <code>x.equals(y)</code> should return <code>true</code> if and only 
      if <code>y.equals(x)</code> returns <code>true</code>.</li>
      <li>It is transitive: for any instances 
      <code>x</code>, <code>y</code>, and <code>z</code> of type <code>AnyRef</code>
      if <code>x.equals(y)</code> returns <code>true</code> and 
      <code>y.equals(z)</code> returns 
      <code>true</code>, then <code>x.equals(z)</code> should return <code>true</code>.</li>
    </ul>
    </p>
    <p>
    If you override this method, you should verify that
    your implementation remains an equivalence relation.
    Additionally, when overriding this method it is often necessary to
    override <code>hashCode</code> to ensure that objects that are
    "equal" (<code>o1.equals(o2)</code> returns <code>true</code>)
    hash to the same <a href="Int.html"><code>Int</code></a>
    (<code>o1.hashCode.equals(o2.hashCode)</code>).</dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Parameters</b></dt><dd><code>arg0 - </code>the object to compare against this object for equality.</dd><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd><code>true</code> if the receiver object is equivalent to the argument; <code>false</code> otherwise.    </p></dd></dl>
    <dl>
        <dt style="margin:10px 0 0 20px;">
          <b>Overrides</b>
        </dt>
        <dd>
        <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>.<a href="../../../be/jvb/iptypes/IpAddressRange.html#equals%28Any%29" target="_self">equals</a>
        </dd>
      </dl><hr></hr>
<a name="canEqual%28Any%29"></a><dl>
      <dt>
        
        <code>protected override</code>
        <code>def</code>
        <em>canEqual</em>(<em>other</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Any.html" target="_self">Any</a>) : <a href="http://www.scala-lang.org/docu/files/api/scala/Boolean.html" target="_self">Boolean</a>
      </dt>
      <dd></dd>
    </dl><dl>
        <dt style="margin:10px 0 0 20px;">
          <b>Overrides</b>
        </dt>
        <dd>
        <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>.<a href="../../../be/jvb/iptypes/IpAddressRange.html#canEqual%28Any%29" target="_self">canEqual</a>
        </dd>
      </dl><hr></hr>
<a name="hashCode%28%29"></a><dl>
      <dt>
        
        <code>override</code>
        <code>def</code>
        <em>hashCode</em> : <a href="http://www.scala-lang.org/docu/files/api/scala/Int.html" target="_self">Int</a>
      </dt>
      <dd></dd>
    </dl>
      <dl><dd>Returns a hash code value for the object.  
    <p>
    The default hashing algorithm is platform dependent.  
    Note that it is allowed for two objects to have identical hash
    codes (<code>o1.hashCode.equals(o2.hashCode)</code>) yet not be
    equal (<code>o1.equals(o2)</code> returns <code>false</code>).  A
    degenerate implementation could always return <code>0</code>.
    However, it is required that if two objects are equal
    (<code>o1.equals(o2)</code> returns <code>true</code>) that they
    have identical hash codes
    (<code>o1.hashCode.equals(o2.hashCode)</code>).  Therefore, when
    overriding this method, be sure to verify that the behavior is
    consistent with the <code>equals</code> method.
    </p>
    <p></dd></dl>
      <dl><dt style="margin:10px 0 0 20px;">
        <b>Returns</b></dt><dd>the hash code value for the object.      </p></dd></dl>
    <dl>
        <dt style="margin:10px 0 0 20px;">
          <b>Overrides</b>
        </dt>
        <dd>
        <a href="../../../be/jvb/iptypes/IpAddressRange.html" target="_self">IpAddressRange</a>.<a href="../../../be/jvb/iptypes/IpAddressRange.html#hashCode%28%29" target="_self">hashCode</a>
        </dd>
      </dl><hr></hr></div>


    <hr></hr>
        <div>Copyright (c) 2010. All Rights Reserved.</div><table summary="" class="navigation">
        <tr>
          <td class="navigation-links" valign="top">
            <!-- <table><tr></tr></table> -->
          </td>
          <td align="right" valign="top" style="white-space:nowrap;" rowspan="2">
            <div class="doctitle-larger">Scala IPv4 0.1 API</div>
          </td>
        </tr>
        <tr><td></td></tr>
      </table>
      </body>
      </html>